#include<iostream>

auto func()
{   
    std::cout<<"func"<<std::endl;
    return "hello";
}

template<typename T1 ,typename T2>
auto add(T1 a,T2 b)->decltype(a+b) //后置
{
    return a+b;
}

int main()
{
    //推导可以不需要初始化对象
    //decltype(func()) a;//不需要调用函数，在编译期进行推导
    //const int & i=0;
    //能推导const 和 引用
    //decltype(i)b=i;

    int a=10;
    int b=20;
    //推导左值是引用  推导右值是变量
    decltype(a+=b)c=a;

    return 0;
}